package com.zmh.service.book;

import java.util.List;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Description;
import org.springframework.stereotype.Service;

import com.alibaba.fastjson.JSON;
import com.zmh.dao.CatalogMapper;
import com.zmh.entity.BookEntity;
import com.zmh.entity.CatalogEntity;

@Service
public class CatalogService {
	@Autowired
	private CatalogMapper catalogMapper;
	
	/**
	 * 根据书籍id和章节名称查询章节是否存在
	 * @return: boolean true 存在，false 不存在
	 * @author: zhoumh
	 * @version: 创建时间：2018年7月23日 下午4:34:11 
	 * @Description:
	 */
	public boolean isExistsCatalogByName(String desc, String name){
		return StringUtils.isNotEmpty(catalogMapper.isExistsCatalog(desc, name));
	}
	
	/**
	 * 根据书籍id和章节名称查询章节
	 * @return: boolean true 章节存在，false 章节不存在
	 * @author: zhoumh
	 * @version: 创建时间：2018年7月21日 上午11:41:03 
	 * @Description:
	 */
	public CatalogEntity getCatalogNewByName(String bid, String name){
		return catalogMapper.getOneByBidName(bid, name);
	}
	/**
	 * 根据书籍id分页获取章节
	 * @return: List<BookEntity>
	 * @author: zhoumh
	 * @version: 创建时间：2018年7月21日 上午11:37:54 
	 * @Description:
	 */
	public List<CatalogEntity> getPageListBybid(String bid, String page,String limit){
		int size = Integer.parseInt(limit);
		int begin = (Integer.parseInt(page)-1)*size;
		return catalogMapper.getPageByBid(bid, begin, size);
	}
	/**
	 * 根据书籍ID获取章节总数，分页查询使用
	 * @return: int
	 * @author: zhoumh
	 * @version: 创建时间：2018年7月21日 上午11:37:54 
	 * @Description:
	 */
	public int getCountByBid(String bid){
		return catalogMapper.getCountByBid(bid);
	}
	
	/**
	 * 查询书籍的全部章节
	 * @return: List<CatalogEntity>
	 * @author: zhoumh
	 * @version: 创建时间：2018年7月23日 下午4:55:51 
	 * @Description:
	 */
	public List<CatalogEntity> getAllByBid(String bid){
		return catalogMapper.getAllByBid(bid);
	}
	
	/**
	 * 增加章节信息
	 * @return: int
	 * @author: zhoumh
	 * @version: 创建时间：2018年7月21日 下午2:59:04 
	 * @Description:
	 */
	public int addCatalog(CatalogEntity catalog){
		System.out.println(JSON.toJSONString(catalog));
		return catalogMapper.insert(catalog);
	}
	
}
